Knowing the Reader Capabilities

The capabilities (or Read-Only properties) of the Reader can be known using ReaderCapabilites class. The reader capabilities include the following:

General Capabilities

Firmware Version – property

Model Name

Number of antennas supported

Number of GPIs & GPOs

UTC Clock supported

Receive Sensitivity Table

Tag Event Reporting Supported - Indicates the reader’s ability to report tag visibility state changes (New Tag, Tag Invisible, or Tag Visibility Changed.).

RSSI Filter Supported - Indicates the reader’s ability to report tags based  on the signal strength of the back-scattered signal from the tag.

NXP Commands Supported - Indicates whether the reader supports NXP commands like Change EAS,set Quiet, Reset Quiet,Calibrate.

Gen2 LLRP Capabilities

Block Erase supported

Block Write supported

State Aware Singulation supported

Maximum Number of Operation in Access Sequence

Maximum Pre-filters allowable per antenna

RF Modes

Regulatory Capabilities

Country Code

Communication Standard

UHF Band capabilities

Transmit Power table

Hopping enabled

Frequency Hop table (if hopping enabled, this table has the frequency information)

Fixed Frequency table (if hopping not enabled, this table contains the frequency list used by the reader. The one-based position of a frequency in this list is its channel index.)

Reader Identification

Reader ID and reader ID type (The reader identification can be MAC or EPC.)

// Get Reader capabilities

System.out.println("\nReader ID: " + reader.ReaderCapabilities.ReaderID.getID());

System.out.println("\nModelName: " + reader.ReaderCapabilities.getModelName());

System.out.println("\nCommunication Standard: " + reader.ReaderCapabilities.getCommunicationStandard().toString());

System.out.println("\nCountry Code: " + reader.ReaderCapabilities.getCountryCode());

System.out.println("\nFirwareVersion: " + reader.ReaderCapabilities.getFirwareVersion());

System.out.println("\nRSSI Filter: " + reader.ReaderCapabilities.isRSSIFilterSupported());

System.out.println("\nTag Event Reporting: " + reader.ReaderCapabilities.isTagEventReportingSupported());

System.out.println("\nTag Locating Reporting: " + reader.ReaderCapabilities.isTagLocationingSupported());

System.out.println("\nNXP Command Support: " + reader.ReaderCapabilities.isNXPCommandSupported());

System.out.println("\nBlockEraseSupport: " + reader.ReaderCapabilities.isBlockEraseSupported());

System.out.println("\nBlockWriteSupport: " + reader.ReaderCapabilities.isBlockWriteSupported());

System.out.println("\nBlockPermalockSupport: " + reader.ReaderCapabilities.isBlockPermalockSupported());

System.out.println("\nRecommisionSupport: " + reader.ReaderCapabilities.isRecommisionSupported());

System.out.println("\nWriteWMISupport: " + reader.ReaderCapabilities.isWriteUMISupported());

System.out.println("\nRadioPowerControlSupport: " + reader.ReaderCapabilities.isRadioPowerControlSupported());

System.out.println("\nHoppingEnabled: " + reader.ReaderCapabilities.isHoppingEnabled());

System.out.println("\nStateAwareSingulationCapable: " + reader.ReaderCapabilities.isTagInventoryStateAwareSingulationSupported());

System.out.println("\nUTCClockCapable: " + reader.ReaderCapabilities.isUTCClockSupported());

System.out.println("\nNumOperationsInAccessSequence: " + reader.ReaderCapabilities.getMaxNumOperationsInAccessSequence());

System.out.println("\nNumPreFilters: " + reader.ReaderCapabilities.getMaxNumPreFilters());

System.out.println("\nNumAntennaSupported: " + reader.ReaderCapabilities.getNumAntennaSupported());

System.out.println("\nNumGPIPorts: " + reader.ReaderCapabilities.getNumGPIPorts());

System.out.println("\nNumGPIPorts: " + reader.ReaderCapabilities.getNumGPOPorts());